/**
 * 路由文件，业务文件，处理事务！！  业务员
 * 职责：只关心业务  不做具体的数据处理！！
 */

//路由1、导入express框架
var express = require('express')

//导入student文件
var Student = require('./student')


//路由2、使用框架中的router容器
var router = express.Router()
var fs = require('fs')
var comments = [
	{
	name: '刘备',
	zi: '玄德',
	img: '../public/img/liubei.jpg'
	}, {
	name: '关羽',
	zi: '云长',
	img: '../public/img/guanyu.jpg'
	}, {
	name: '张飞',
	zi: '翼德',
	img: '../public/img/zhangfei.jpg'
}]

//路由3、把所有的业务挂载到router容器中
//查询所有学生信息
router.get('/students', (req,res)=> {
	//调用student.find方法
	Student.find(function(err,students){
		//没数据的话
		if(err){
			return res.status(500).send('server error!!')
		}
		//有数据的话
		res.render('index.html',{
			comments,
			students
		})
	})
})

//添加学生信息----页面渲染
router.get('/students/new', (req,res)=> {
	res.render('new.html')
})

//添加学生信息----业务处理
router.post('/students/new', (req,res)=> {
	//1、接收请求数据
	console.log(req.body)
	//2、处理数据
	new Student(req.body).save(function(err,date){
		if(err){
			console.log('保存失败');
		}else{
			res.redirect('/students')
		}
	})

})

//修改学生信息----页面渲染
router.get('/students/edit', (req,res)=> {
	console.log(req.query.id);
	// var id = parseInt(req.query.id)
	var id = req.query.id
	Student.findById(id,function(err,student){
		if(err){
			//3、响应结果
			return res.status(500).send('server error!!')
		}
		//3、响应结果  重定向到页面
		// resp.redirect('edit.html')
		res.render('edit.html',{
			student
		})
	})

	
})

// //修改学生信息----业务处理
// router.post('/students/edit', (req,res)=> {
// 	//1、获取客户端发送来的请求数据  req.body
// 	//2、处理数据
// 	//调用student中的方法
// 	Student.updateById(req.body, function (err) {
// 		if (err) {
// 			return res.status(500).send('server error!!')
// 		}
// 		//3、响应结果  重定向（get请求） 跳转到首页
// 		res.redirect('/students')
// 	})
// })
router.post('/students/edit', function (req, resp) {
	//修改学生信息----业务处理

	Student.findByIdAndUpdate(req.body.id, req.body,
		function (err, data) {
			if (err) {
				console.log(err)
			}
			console.log('更新成功')
			console.log(data)
			resp.redirect('/students')
		})

})

//删除学生信息----业务处理
router.get('/students/delete', (req,res)=> {
	Student.deleteOne({ id: req.query.id },(err,date)=> {
		if (err) {
			console.log('删除失败')
		} else {
			console.log('删除成功')
			console.log(date)
			res.redirect('/students')
		}
	})
})


//路由4、把router导出
module.exports = router
